package zuoye1;
/*（FileInputStream 和FileOutputStream）利用FileInputStream 和FileOutputStream，完成
下面的要求：
1） 用FileOutputStream 在当前项目doc目录下创建一个文件“test.txt”，并向文件写入“Hello
World”，如果文件已存在，则在原有文件内容后面追加内容。
2） 用FileInputStream 读取test.txt 文件，并在控制台上打印出test.txt 中的内容。
3） 要求用try-catch-finally 处理异常，并且关闭流应放在finally 块中。*/
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class Demo1 {
    public static void main(String[] args) {
        String content="HelloWorld";
        FileOutputStream fos=null;
        try {
            fos=new FileOutputStream("document/test.txt",false);
            byte[] data=content.getBytes("UTF-8");
            fos.write(data);
            fos.flush();
            System.out.println("文件保存成功！");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (null != fos) {
                try {
                    fos.close();
                    fos=null;
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        System.out.println("**************************");
        FileInputStream fis = null;
        try {
            fis = new FileInputStream("document/test.txt");
            byte[] buffer=new byte[1024];
            int len=-1;
            while ((len=fis.read(buffer))!=-1) {//当流结束的时候返回-1
                System.out.println("len="+len);
                String str=new String(buffer,0,len);
                System.out.println(str);
            }
            System.out.println("所有内容读取完成");
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            try {
                fis.close();
                fis=null;
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}
